package com.sushi.utils;

import com.sushi.request.RequestBO;
import com.sushi.response.ResponsePageBO;

import java.util.ArrayList;
import java.util.List;

/**
 * @author wywei
 */
public class ResponsePageUtil {


    /**
     * 正常返回数据
     * @param req 入参
     * @param resp 返回列表
     * @param total 总数
     * @return 返回统一类
     */
    public static <T> ResponsePageBO<T> ok(RequestBO req, List<T> resp, Long total) {
        ResponsePageBO<T> ans = new ResponsePageBO<>();
        ans.setCondition(req);
        ans.setList(resp);
        ans.setTotal(total);
        return ans;
    }

    /**
     * 返回空数据
     * @param req 入参
     * @return 返回统一类
     */
    public static <T> ResponsePageBO<T> ok(RequestBO req) {
        ResponsePageBO<T> ans = new ResponsePageBO<>();
        ans.setCondition(req);
        ans.setList(new ArrayList<>());
        ans.setTotal(0L);
        return ans;
    }

    /**
     * 返回空数据
     * @return 返回统一类
     */
    public static <T> ResponsePageBO<T> ok() {
        ResponsePageBO<T> ans = new ResponsePageBO<>();
        ans.setCondition(null);
        ans.setList(new ArrayList<>());
        ans.setTotal(0L);
        return ans;
    }


}
